package com.interview.write;

public class DemoThree {
    /**
     * 打印出杨辉三角形
     */
//    public static void main(String[] args) {
//        int row1 = 10;
//        if (row1 == 1) {
//            System.out.println(1);
//        } else {
//            int[][] arr1 = new int[row1][2 * row1 + 1];//动态创建默认全是0 0的就不用赋值了
//            for (int j = 0; j < arr1.length; j++) {//行数
//                for (int j2 = 0; j2 < arr1[0].length; j2++) {//列数
//                    if (j == 0) {//如果是第一行
//                        arr1[j][row1] = 1;
//                    } else if (j == 1) {
//                        arr1[j][row1] = 2;
//                        arr1[j][row1 - 2] = 1;
//                        arr1[j][row1 + 2] = 1;
//                    } else {
//                        if (j2 == row1 - 1 - j || j2 == 2 * row1 - (row1 - 1 - j)) {
//                            arr1[j][j2] = 1;//首尾的1先赋值
//                        }
//                        if (j2 > row1 - 1 - j && j2 < 2 * row1 - (row1 - 1 - j)) {
//                            arr1[j][j2] = arr1[j - 1][j2 - 1] + arr1[j - 1][j2 + 1];
//                        }//在首尾之间的数遵循规律
//                    }
//                }
//            }
//            for (int j = 0; j < arr1.length; j++) {
//                for (int j2 = 0; j2 < arr1[j].length; j2++) {
//                    if (arr1[j][j2] == 0) {//为0 就是没赋值  输出空格
//                        System.out.print("   ");
//                    } else {
//                        System.out.printf("%3d", arr1[j][j2]);//输出值
//                    }
//                }
//                System.out.println();
//            }
//        }
//    }


    public static void main(String[] args) {
    int n = 11;                       // n-1即为需要打印的杨辉三角的行数
    int[][] arr = new int[n][n];      // 定义一个二维数组并全部将他们赋值为0
    arr[1][1] = 1;

    // 杨辉三角的计算过程
        for (int i = 1; i < n; i++) {
        for (int j = 1; j < n; j++) {
            if (i==1 && j==1) {
                continue;
            }
            arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
        }
    }

    // 打印出杨辉三角
        for (int i = 1; i < n; i++) {
        for (int j = 1; j < n; j++) {
            if (arr[i][j] != 0) System.out.print(arr[i][j] + " ");
        }
        System.out.printf("\n");
    }

}

}
